How did AI think?
Recognize a number of patterns Chess engines recognize a number of patterns (typical chess positions); the more patterns and the more refined those patterns are, the higher the quality of the engine. Some of those are endgame patterns, while others are middle game patterns. They also have vast opening databases, so they "know" what has been played by strong players before, and how those games have continued and ended. These are the ‘experience’ of the engines. If an engine has more patterns than one another, it means that this engine can think deeper than the other one. Evaluate the position of two players Chess engines evaluate a position in part based on the material balance where each piece has a preset value, which may change based on how developed and active each piece is in the specific game, which is itself a positional characteristic and in part based on positional characteristics which come from those patterns. The base material unit is 1 pawn, which is approximately equal to 1.00, so if you see an engine give an evaluation of +1.00, that means it deems the position of white as equivalent to one where that side has 1 extra pawn even though all of that advantage may come from positional characteristics, not material ones. Typically, an advantage of +1.00 or more is sufficient for that side to win the game, if played correctly. Naturally, there is no hard line between one and the other, but that's a reasonable rule. Mini/max algorithm Each move has two parts -- white's move and black's move. Each of those two is a called half-move. In slightly more technical terms, this "half-move" term is useful in chess engines when the engine does what is called "alpha-beta search and pruning". The latter is a fancy term for building a tree of possibilities and then evaluating it one step at a time as it traverses that tree from bottom to top. So, each half-move corresponds to one level of depth of your tree. At a given level, the engine attempts to maximize the evaluation function which let AI to get the most advantage, while at the next level it attempts to minimize that function which let AI’s opponent gets the most advantage. Then AI can calculate the next several steps by using the maxmin algorithm. Hill climbing algorithm In theory, AI will not be defeated by human being, but in reality, AI doesn’t have such much time to think about all of the possible steps of the game. Modern engines cut out some of the impossible movements to save time and memory by using hill climbing algorithm. It’s a mathematical optimization technique which belongs to the family of local search. The engine will try to find the local maximum potion continuously until gets the highest point in that region. Sometimes this algorithm may result in a perfectly valid sacrifice being ignored, but most of the time that saves a huge amount of time, which can be better spent on evaluating other potentially useful moves. The memory issue is not as severe in fact, since once the engine throws away a given possibilities. It clears up and reuses that memory, while retaining only an encoding of the potentially fruitful continuations. The depth of exploration of a chess engine depends on the processing speed of your computer. A more powerful computer is able to compute more in a given time.' ' ' '